package com.ruoyi.mall.service.impl;

import java.util.Date;
import java.util.List;

import com.ruoyi.mall.domain.PmsBrand;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.mall.mapper.PmsAlbumMapper;
import com.ruoyi.mall.domain.PmsAlbum;
import com.ruoyi.mall.service.IPmsAlbumService;

/**
 * 商品相册Service业务层处理
 *
 * @author zhanghang
 * @date 2023-11-02
 */
@Service
public class PmsAlbumServiceImpl implements IPmsAlbumService {
    @Autowired
    private PmsAlbumMapper pmsAlbumMapper;

    /**
     * 查询商品相册
     *
     * @param id 商品相册主键
     * @return 商品相册
     */
    @Override
    public PmsAlbum selectPmsAlbumById(String id) {
        return pmsAlbumMapper.selectPmsAlbumById(id);
    }

    /**
     * 查询商品相册列表
     *
     * @param pmsAlbum 商品相册
     * @return 商品相册
     */
    @Override
    public List<PmsAlbum> selectPmsAlbumList(PmsAlbum pmsAlbum) {
        return pmsAlbumMapper.selectPmsAlbumList(pmsAlbum);
    }

    /**
     * 新增商品相册
     *
     * @param pmsAlbum 商品相册
     * @return 结果
     */
    @Override
    public int insertPmsAlbum(PmsAlbum pmsAlbum) {
        //1.判断相册名称是否为空
        if (pmsAlbum.getName() == null || pmsAlbum.getName().equals("")) {
            throw new RuntimeException("请输入相册名");
        }
        //2.判断相册名称是否存在
        if (!pmsAlbumMapper.selectPmsAlbumList(pmsAlbum).isEmpty()) {
            throw new RuntimeException("商品相册名称已存在");
        }
        Date date = new Date();
        pmsAlbum.setGmtCreate(date);
        pmsAlbum.setGmtModified(date);
        return pmsAlbumMapper.insertPmsAlbum(pmsAlbum);
    }

    /**
     * 修改商品相册
     *
     * @param pmsAlbum 商品相册
     * @return 结果
     */
    @Override
    public int updatePmsAlbum(PmsAlbum pmsAlbum) {
        //1.判断相册名称是否为空
        if (pmsAlbum.getName() == null || pmsAlbum.getName().equals("")) {
            throw new RuntimeException("请输入相册名");
        }
        //2.判断相册名称是否存在
        PmsAlbum selectPmsAlbumById = pmsAlbumMapper.selectPmsAlbumById(pmsAlbum.getId());
        if (selectPmsAlbumById != null) {
            int row = pmsAlbumMapper.selectPmsAlbumByName(pmsAlbum.getName());
            if (row > 0 && !pmsAlbum.getName().equals(selectPmsAlbumById.getName())) {
                throw new RuntimeException("相册名称已存在");
            }
        }
        return pmsAlbumMapper.updatePmsAlbum(pmsAlbum);
    }

    /**
     * 批量删除商品相册
     *
     * @param ids 需要删除的商品相册主键
     * @return 结果
     */
    @Override
    public int deletePmsAlbumByIds(String[] ids) {
        return pmsAlbumMapper.deletePmsAlbumByIds(ids);
    }

    /**
     * 删除商品相册信息
     *
     * @param id 商品相册主键
     * @return 结果
     */
    @Override
    public int deletePmsAlbumById(String id) {
        return pmsAlbumMapper.deletePmsAlbumById(id);
    }
}
